package indi.cyh.fastservice.base;

import indi.cyh.fastservice.base.entity.http.ResponseBase;
import indi.cyh.fastservice.base.request.*;

/**
 * @Description TODO
 * @Author CYH
 * @Date 2021/7/20 18:44
 **/
public interface BaseController {

    /**
     * 保存数据
     *
     * @param request
     * @return indi.cyh.fastservice.base.entity.http.ResponseBase
     * @author CYH
     * @date 2021/7/20 18:52
     **/
    ResponseBase save( BaseSaveRequest request);

    /**
     * 删除
     *
     * @param request
     * @return indi.cyh.fastservice.base.entity.http.ResponseBase
     * @author CYH
     * @date 2021/7/20 18:53
     **/
    ResponseBase delete(BaseDeleteRequest request);

    /**
     * 查询分页数据
     * @return indi.cyh.fastservice.base.entity.http.ResponseBase
     * @author CYH
     * @date 2021/7/20 18:56
     **/
    ResponseBase queryPageData(BaseQueryPageDataRequest request);

    /**
     * 查询单个实体类型
     *
     * @param request 查询条件
     * @return indi.cyh.fastservice.base.entity.http.ResponseBase
     * @author CYH
     * @date 2021/7/20 18:55
     **/
    ResponseBase queryOne(BaseQueryOneRequest request);

    /**
     * 查询多个实体类型
     *
     * @param request 查询条件
     * @return indi.cyh.fastservice.base.entity.http.ResponseBase
     * @author CYH
     * @date 2021/7/20 18:55
     **/
    ResponseBase queryList(BaseQueryListRequest request );
}
